package top.tagao.m03_beHavioralPatterns.b_04_state;

import top.tagao.m03_beHavioralPatterns.b_04_state.ui.Player;
import top.tagao.m03_beHavioralPatterns.b_04_state.ui.UI;

/**
 * @author Viktor_Liu
 * @Date 2022/8/13 20:28
 * 1.上下文 （Context） 保存了对于一个具体状态对象的引用， 并会将所有与该状态相关的工作委派给它。
 *                  上下文通过状态接口与状态对象交互， 且会提供一个设置器用于传递新的状态对象。
 *
 * 2.状态 （State） 接口会声明特定于状态的方法。 这些方法应能被其他所有具体状态所理解，
 *                 因为你不希望某些状态所拥有的方法永远不会被调用。
 *
 * 3.具体状态 （Concrete States） 会自行实现特定于状态的方法。
 *           为了避免多个状态中包含相似代码， 你可以提供一个封装有部分通用行为的中间抽象类。
 */
public class Main {
    public static void main(String[] args) {

        Player player = new Player();
        UI ui = new UI(player);
        ui.init();

    }
}
